Career 2025 2024 2023 2022 2021 2020 2019 2018 2017 2016 2015 2014 2013 2012 2011 2010 2009 2008 2007
All Rounds Final 1/2 1/4 First Second Third Fourth Pre-q Rubber 1 Rubber 2 Rubber 3 Rubber 4 Rubber 5 Robin Bronze Q3 N/A Q2 Q1 ER Q4 CR QF Q5 N/A
All Courts Acrylic N/A Clay Grass Carpet Hard I.hard
All Tour Girona Challenger French Open - Paris Spain F17 Spain F19 Spain F23 Spain F26 Spain F27 Spain F33 Spain F34 Spain F35 Portugal F5 Spain F38 Spain F39 Spain F40 Spain F41 Spain F3 Spain F5 Spain F6 Spain F8 Spain F9 Spain F10 Spain F13 Spain F17 Spain F18 Spain F19 Romania F10 Romania F11 Spain F30 Spain F31 Spain F33 Spain F34 Portugal F7 Portugal F8 Spain F39 Spain F40 Spain F41 Spain F42 United Arab Emirates F1 United Arab Emirates F2 Spain F3 Spain F4 Spain F5 Spain F7 Spain F10 Spain F11 Turkey F4 Turkey F5 Turkey F6 Spain F17 Spain F18 Spain F20 Spain F21 France F12 Spain F28 Spain F29 Spain F30 Portugal F4 Portugal F5 Spain F35 Spain F37 Spain F3 Spain F4 Italy F2 Italy F3 Spain F16 Spain F17 Spain F18 Spain F19 Spain F16 Spain F20 Italy F17 Spain F31 Spain F35 Spain F36 France F3 France F4 Spain F12 Spain F14 Spain F15 France F8 Turkey F25 Spain F36 Turkey F26 Spain F37 Spain F38 Kuwait F1 Kuwait F2 France F4 Argentina F6 France F8 France F9 Sweden F3 France F14 Serbia F12 Serbia F13 Serbia F14 USA F29 Mexico F12 Mexico F13 Mexico F14 Israel F3 Turkey F5 Vietnam F1 Vietnam F2 Vietnam F3 Spain F12 Spain F13 Bulgaria F4 Bulgaria F6 Estonia F2 Egypt F25 Egypt F29 Egypt F30 India F1 India F4 India F5 Croatia F13 Romania F4 Bulgaria F3 Bulgaria F5 Bulgaria F6 Romania F9 Romania F10 France F11 Italy F35 Peru F9 Brazil F11 Brazil F12 Iran F12 Tunisia F5 Iran F4 Iran F5 Croatia F5 Croatia F6 France F8 Tunisia F26 France F22 (Nevers) USA F7 (Bakersfield) Spain F18 USA F8 (Calabasas) Bulgaria F5 Estonia F1 Lithuania F1 M25+H Nevers M25+H Rodez Spain F22 Portugal F4 Spain F20 M25 Vogau M25 Angers M25 Split Kos Succhetti Tennis Cup - Cordenons M25 Sabadell M25 Carnac Orbetello Challenger Seville Challenger Tarragona Challenger Tanger Challenger Meknes Challenger Rabat Challenger Marrakech Challenger Tallahassee Challenger Tunis Challenger Turin Challenger Tampere Challenger Istanbul Challenger Manerbio Challenger M25 Sintra Izmir Challenger M25 Hazebrouck Sao Paulo Challenger M25 Esch/Alzette M15 Bucharest M15 Lannion M15 Poitiers Casablanca Challenger M25 Monastir M15 Dubrovnik M25 Angers Furth Challenger San Sebastian Challenger Quimper Challenger Rabat Challenger Mersin Challenger Rome Challenger Kosice Challenger Sibiu Challenger Como Challenger Alphen Challenger Trnava Challenger San Juan Challenger Furth Challenger France F13 Todi Challenger Armenia F1 Santos Challenger Cali Challenger M25 Creteil M25 Saint-Dizier Szczecin Challenger Kenitra Challenger Montevideo Challenger Noumea Challenger Ostrava Challenger Mestre Challenger Blois Challenger Padova Challenger Todi Challenger Poznan Challenger Vancouver Challenger Meknes Challenger Banja Luka Challenger Mohammedia Challenger Casablanca Challenger Noumea Challenger Santo Domingo Challenger Guadalajara Challenger Anning Challenger Lyon Challenger Tampere Challenger Liberec Challenger Szczecin Challenger Guayaquil Challenger Cherbourg Challenger Qingdao Challenger Bordeaux Challenger Lyon Challenger Meerbusch Challenger Brest Challenger Eckental Challenger Mouilleron-Le-Captif Challenger Ostrava Challenger Poznan Challenger Blois Challenger Tashkent Challenger Columbus Challenger Budapest Challenger Cherbourg Challenger Pau Challenger Glasgow Challenger Lisbon Challenger Brest Challenger Bergamo Challenger Bendigo Challenger Quimper Challenger Bengalaru 2 Challenger St. Tropez Challenger Lisbon Challenger Leon Challenger Recanati Challenger Seville Challenger Marburg Challenger Tampere Challenger San Marino Challenger Seville Challenger Meknes Challenger Heilbronn Challenger Quimper Challenger Cremona Challenger Rio De Janeiro Challenger Arad Challenger San Benedetto Challenger Guimaraes Challenger Kolkata Challenger New Delhi Challenger Kazan Challenger Milan Challenger Manerbio Challenger Guangzhou Challenger Pingguo Challenger Porto Alegre Challenger St. Brieuc Challenger Bergamo Challenger Quimper Challenger Cherbourg Challenger Braunschweig Challenger Poznan Challenger Brasov Challenger Bordeaux Challenger Bordeaux Challenger Lyon Challenger Milan Challenger Tampere Challenger Meerbusch Challenger Cassis Challenger Biella Challenger Bordeaux Challenger Mouilleron-Le-Captif Challenger Orlando Challenger Szczecin Challenger M25 Santa Margherita di Pula Egypt F24 Lyon Challenger Arad Challenger Quimper Challenger Quimper 2 Challenger Split 2 Challenger Scheveningen Challenger Kosice Challenger Cassis Challenger Oeiras 1 Challenger Bucaramanga Challenger Aix En Provence Challenger Francavilla Challenger San Luis Potosi Challenger Nanjing Challenger Todi Challenger Braga Challenger Mouilleron-Le-Captif Challenger Quimper Challenger St. Remy Challenger Oeiras 3 Challenger Vicenza Challenger Lyon Challenger Santiago Challenger Mersin Challenger Quimper Challenger Lima Challenger Prague 3 Challenger Cherbourg Challenger Mallorca Challenger St. Tropez Challenger Bratislava 2 Challenger Olbia Challenger Ortisei Challenger Ismaning Challenger Drummondville Challenger Rennes Challenger Oeiras 1 Challenger Oeiras 2 Challenger Tenerife 3 Challenger Lugano Challenger Murcia Challenger Sophia Antipolis Challenger Aix En Provence Challenger Mestre Challenger Bordeaux Challenger Aix En Provence Challenger Bastad Challenger M25 Lesa Bordeaux Challenger Armenia F2 Tunis Challenger Francavilla Challenger Braga Challenger Blois Challenger Pau Challenger Mouilleron-Le-Captif Challenger Biella 1 Challenger St. Brieuc Challenger Lima Challenger Guayaquil Challenger Helsinki Challenger Almaty Challenger Calgary Challenger Las Vegas Challenger Santiago Challenger Punta Del Este Challenger Quimper Challenger Bordeaux Challenger Roseto Degli Abruzzi 2 Challenger Shenzhen Challenger Zhangjiagang Challenger Santiago Challenger Orleans Challenger Mouilleron-Le-Captif Challenger Brest Challenger Blois Challenger Trieste Challenger Iasi Challenger Split Challenger Parma Challenger Bratislava Challenger Como Challenger Rome 1 Challenger Ostrava Challenger Oeiras 4 Challenger Ortisei Challenger Aix En Provence Challenger Pozoblanco Challenger Mallorca Challenger St. Tropez Challenger Biel Challenger Noumea Challenger Murcia Challenger Napoli 2 Challenger Losinj Challenger Roanne Challenger Helsinki Challenger Quimper Challenger Bergamo Challenger Bengalaru 1 Challenger Rome Challenger Roseto Degli Abruzzi 1 Challenger Madrid Challenger Anning Challenger Orleans Challenger 84° Concurso Internacional Tenis San Sebastian - San Sebastian Rennes Challenger Roanne Challenger Le Gosier Challenger Cherbourg Challenger Rovereto Challenger Phoenix Challenger St. Brieuc Challenger Lille Challenger Girona Challenger Murcia Challenger Aix En Provence Challenger Bordeaux Challenger Tunis Challenger Skopje Challenger Mamaia Challenger - Constanta Verona Challenger Como Challenger Calgary Challenger Quimper Challenger Koblenz Challenger Prague Challenger Noumea Challenger Lyon Challenger Pau Challenger Estoril Open - Estoril Milan Challenger Barcelona Challenger Rennes Challenger St. Tropez Challenger Reggio Emilia Challenger Courmayeur Challenger Szekesfehervar Challenger Bordeaux Challenger Rome Challenger M15 Ceuta Segovia Challenger M25 Glasgow Trnava Challenger Madrid Challenger Eckental Challenger Estoril Open - Estoril Casablanca Challenger Open 13 - Marseille Estoril Open - Estoril Cordenons Challenger German Tennis Championships - Hamburg Madrid Challenger Montevideo Challenger Aircel Chennai Open - Chennai Estoril Open - Estoril Cassis Challenger Studena Croatia Open - Umag Credit Agricole Suisse Open - Gstaad Apia International - Sydney VTR Open - Vina del Mar Apia International - Sydney Topshelf Open - 's-Hertogenbosch SkiStar Swedish Open - Bastad Credit Agricole Suisse Open - Gstaad Winston-Salem Open - Winston-Salem Malaysian Open - Kuala Lumpur Rakuten Japan Open - Tokyo Kremlin Cup - Moscow Valencia Open - Valencia St. Petersburg Open - St. Petersburg ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Brasov Challenger Open de Nice Cote d'Azur - Nice Gerry Weber Open - Halle Konzum Croatia Open - Umag Moselle Open - Metz St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Liberec Challenger Quimper Challenger Open Sud de France - Montpellier Erste Bank Open - Vienna Garanti Koza Sofia Open - Sofia Argentina Open - Buenos Aires Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Suisse Open - Gstaad Open 13 Provence - Marseille Grand Prix Hassan II - Marrakech Barcelona Open BancSabadell - Barcelona Millennium Estoril Open - Estoril Open Parc - Lyon Santiago Challenger Antalya Cup - Antalya Swiss Open - Gstaad Aix En Provence Challenger Bordeaux Challenger St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu China Open - Beijing ASB Classic - Auckland Blois Challenger Argentina Open - Buenos Aires Brasil Open - Sao Paulo San Benedetto Challenger Geneva Open - Geneva Turkish Airlines Open Antalya - Antalya Swiss Open - Gstaad Winston-Salem Open - Winston-Salem Gerry Weber Open - Halle Argentina Open - Buenos Aires Open 13 Provence - Marseille Chile Dove Men+Care Open - Santiago Abierto Mexicano Telcel - Acapulco Serbia Open - Belgrade Open Parc - Lyon Mercedes Cup - Stuttgart Swiss Indoors Basel - Basel Noventi Open - Halle Mallorca Championships - Mallorca Noumea Challenger Barcelona Open Banc Sabadell - Barcelona Millennium Estoril Open - Estoril Tata Open Maharashtra - Pune Dubai Duty Free Tennis Championships - Dubai Millennium Estoril Open - Estoril Gonet Geneva Open - Geneva Noventi Open - Halle Swiss Open - Gstaad Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem Moselle Open - Metz Cordoba Open - Cordoba Rio Open - Rio de Janeiro Chile Dove Men+Care Open - Santiago Qatar ExxonMobil Open - Doha Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Marrakech Orleans Challenger Santiago Challenger Bratislava Challenger Cherbourg Challenger Alicante Challenger Estoril Open - Estoril Antalya 2 Challenger Marrakech Challenger Biella 4 Challenger Lille Challenger Open Sud de France - Montpellier Porto Challenger Gran Canaria Challenger Segovia Challenger Heineken Open - Auckland Tenerife Challenger Bratislava Challenger Apia International - Sydney Kosice Challenger Open Sabadell Atlantico - Barcelona Meknes Challenger Aircel Chennai Open - Chennai Furth Challenger Brasil Open - Sao Paulo Open 13 - Marseille Copa Claro - Buenos Aires Abierto Mexicano Telcel - Acapulco Open 13 - Marseille Power Horse Cup - Dusseldorf Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Malaysian Open - Kuala Lumpur Kremlin Cup - Moscow Valencia Open - Valencia Qatar ExxonMobil Open - Doha Naples Challenger Copa Claro - Buenos Aires Rio Open 500 - Rio de Janeiro Abierto Mexicano Telcel - Acapulco Grand Prix Hassan II - Casablanca Portugal Open - Oeiras Power Horse Cup - Dusseldorf Gerry Weber Open - Halle Heilbronn Challenger Bet-at-home Open - Hamburg Buenos Aires Challenger Vegeta Croatia Open - Umag Winston-Salem Open - Winston-Salem Moselle Open - Metz Malaysian Open - Kuala Lumpur China Open - Beijing Blois Challenger If Stockholm Open - Stockholm Heineken Open - Auckland Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam Open 13 - Marseille Dubai Duty Free Tennis Championships - Dubai Grand Prix Hassan II - Casablanca Open Sud de France - Montpellier Barcelona Open BancSabadell - Barcelona ASB Classic - Auckland Geneva Open - Geneva Topshelf Open - 's-Hertogenbosch Valencia Open - Valencia AEGON Championships - London Aegon Nottingham Open - Nottingham Vegeta Croatia Open - Umag Cordoba Open - Cordoba Millennium Estoril Open - Estoril ASB Classic - Auckland Open 13 - Marseille Millennium Estoril Open - Estoril Aegon Nottingham Open - Nottingham SkiStar Swedish Open - Bastad Rakuten Japan Open - Tokyo European Open - Antwerp ASB Classic - Auckland Rio Open - Rio de Janeiro Mallorca Championships - Mallorca Rio Open - Rio de Janeiro Brasil Open - Sao Paulo Geneva Open - Geneva Millennium Estoril Open - Estoril Gerry Weber Open - Halle SkiStar Swedish Open - Bastad Konzum Croatia Open - Umag Generali Open - Kitzbuhel Winston-Salem Open - Winston-Salem St. Petersburg Open - St. Petersburg Shenzhen Open - Shenzhen Rakuten Japan Open - Tokyo European Open - Antwerp Swiss Indoors Basel - Basel ASB Classic - Auckland Garanti Koza Sofia Open - Sofia ABN AMRO World Tennis Tournament - Rotterdam Dubai Duty Free Tennis Championships - Dubai Plava Laguna Croatia Open - Umag Winston-Salem Open - Winston-Salem Libema Open - 's-Hertogenbosch Noventi Open - Halle SkiStar Swedish Open - Bastad St. Petersburg Open - St. Petersburg Chengdu Open - Chengdu Rakuten Japan Open - Tokyo Intrum Stockholm Open - Stockholm Swiss Indoors Basel - Basel Open Sud de France - Montpellier ABN AMRO World Tennis Tournament - Rotterdam European Open - Antwerp Hamburg European Open - Hamburg Brest Challenger Serbia Open - Belgrade Mercedes Cup - Stuttgart Fano Challenger Nordea Open - Bastad Ostrava Challenger Porto Challenger Braga Challenger Stockholm Open - Stockholm Tel Aviv Watergen Open - Tel Aviv Gijon Open - Gijon Trieste Challenger ASB Classic - Auckland Cassis Challenger Argentina Open - Buenos Aires Blois Challenger Rennes Challenger Bordeaux Challenger Moselle Open - Metz Millennium Estoril Open - Estoril Grand Prix Hassan II - Marrakech Mouilleron-Le-Captif Challenger If Stockholm Open - Stockholm Seville Challenger Trieste Challenger Orleans Challenger Winston-Salem Open - Winston-Salem Generali Open - Kitzbuhel Millennium Estoril Open - Estoril Hall of Fame Open - Newport Modena Challenger Sardegna Open - Cagliari Erste Bank Open - Vienna Antalya Cup - Antalya BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Mutua Madrid Open - Madrid BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Sony Open Tennis - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Rogers Cup - Toronto Western & Southern Open - Cincinnati BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris BNP Paribas Open - Indian Wells Miami Open - Miami Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai BNP Paribas Masters - Paris Miami Open - Miami Internazionali BNL d'Italia - Rome Western & Southern Open - Cincinnati Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome Western & Southern Open - New York BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo BNP Paribas Open - Indian Wells Miami Open - Miami Monte-Carlo Rolex Masters - Monte-Carlo Mutua Madrid Open - Madrid Internazionali BNL d'Italia - Rome National Bank Open - Montreal Barcelona Open BancSabadell - Barcelona Rolex Paris Masters - Paris Rogers Cup - Montreal Monte-Carlo Rolex Masters - Monte-Carlo Internazionali BNL d'Italia - Rome Miami Open - Miami BNP Paribas Open - Indian Wells Melbourne Summer Set - Melbourne Maia Challenger Shanghai Rolex Masters - Shanghai Internazionali BNL d'Italia - Rome BNP Paribas Open - Indian Wells Mutua Madrid Open - Madrid Rogers Cup - Toronto Mutua Madrid Open - Madrid Western & Southern Open - Cincinnati Wimbledon - London U.S. Open - New York Australian Open - Melbourne Monte-Carlo Rolex Masters - Monte-Carlo French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York BNP Paribas Open - Indian Wells Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London Australian Open - Melbourne Australian Open - Melbourne French Open - Paris U.S. Open - New York Australian Open Qualifying - Doha French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris Wimbledon - London U.S. Open - New York Australian Open - Melbourne French Open - Paris U.S. Open - New York Davis Cup, Group 2, 2R, POR-CYP 5-0 Davis Cup, Group 2, 1R, CYP-POR 3-2 Davis Cup, Group 2, PO, ALG-POR 0-5 Davis Cup, Europe/Africa Group II, 2R, POR-CYP 5-0 Davis Cup, Europe/Africa Group II, 3R, POR-BIH 3-2 Davis Cup, Group I, 1R, POR-SVK 4-1 Davis Cup, Group I, 2R, SUI-POR 5-0 Davis Cup, Group I, 2R, ISR-POR 3-2 Davis Cup, Group I, PO, SVK-POR 3-1 Davis Cup, Group II, 1R, POR-BEN 5-0 Davis Cup, Group II, 3R, MDA-POR 2-3 Davis Cup, Group I, PO, RUS-POR 4-1 Davis Cup, Group II, 1R, POR-MAR 4-1 Davis Cup, Group II, 2R, POR-FIN 4-1 Davis Cup, Group II, 3R, POR-BLR 3-2 Davis Cup, Group I, 1R, POR-AUT 1-4 Davis Cup, Group I, PO, POR-SLO 5-0 Davis Cup, Group I, 1R, POR-ISR 5-0 Davis Cup, Group I, 2R, POR-UKR 4-1 Davis Cup, World Group, PO, POR-GER 2-3 Davis Cup, Group I, 2R, SWE-POR 3-2 Davis Cup, World Group, QR, KAZ-POR 3-1 Davis Cup, Group I, 1R, BLR-POR 3-2 Davis Cup, Group I, PO, UKR-POR 3-1 Davis Cup, Group I, 1R, ROU-POR 3-1 Davis Cup, Group I, PO, POR-POL 4-0 Davis Cup, Group I, 1R, POR-BRA 3-1 Wimbledon (juniors) U.S. Open (juniors) Wimbledon (juniors) Davis Cup, Group I, PO, POR-RSA 4-0 French Open (juniors) Wimbledon (juniors) Davis Cup, Group I, 1R, AUT-POR 1-3 Davis Cup, World Group I, PO, LTU-POR 0-4 Davis Cup, Group I, 1R, SLO-POR 3-2 All Lower level tournaments Davis Cup, World Group, Q, FIN-POR 3-1 Davis Cup, World Group, PO, POR-CZE 1-3 French Open (juniors) French Open (juniors) Australian Open (juniors) Olympics - Rio de Janeiro Olympics - Tokyo